jsonwebtoken rất dễ bị tấn công vì nhiều yếu tố trong đó việc lưu trữ access token trên Client cũng là một trong điểm yếu đó. Có hai cách phổ biến để tránh bị đánh cắp đó là đừng sử dụng jwt hoặc không để token ở máy khách. Chúng tôi đã chọn cách không lưu trên Client.
Điều gì khiến JWT phổ biến. Lý do mà khiến `JWT` trở nên phổ biến trong những năm gần đây chính xác là 2014 là chúng có thể chứa được nhiều kiểu dữ liệu như `JSON`, và nó có nhiều lợi ích so với các kiểu truyền thống...
OAuth với Node.js và Github trong bài viết KÈM SOURCE này thì chúng ta sẽ biết thêm một cách triển khai login với github. Chính vì cơ chế của github rất tiện lợi nên việc viết code cũng không phức tạp như nhiều người từng nghĩ.
OAuth 2.0 là gì? OAuth 2.0 là một giao thức tiêu chuẩn mở cho phép các ứng dụng truy cập vào dữ liệu được người thông qua những ứng dụng khác. Ví dụ: một trò chơi có thể lấy thông tin người dùng trong Facebook hoặc app theo dõi location có thể lấy thông tin người dùng trong Foursquare.
SSO là gì? Tên tiếng Anh đầy đủ của SSO là Single SignOn, hay còn gọi là cơ chế đăng nhập một lần nhưng có thể sử dụng khắp mọi nơi. SSO có trong nhiều hệ thống ứng dụng. Người dùng chỉ cần đăng nhập một lần để truy cập vào tất cả các hệ thống ứng dụng đáng tin cậy lẫn nhau. Nó bao gồm một cơ chế có thể ánh xạ thông tin đăng nhập chính này với các ứng dụng khác để đăng nhập cùng một người dùng. Nó là một trong những giải pháp phổ biến nhất được sử dụng rộng rãi hiện nay. Và nếu bạn là một lập trình viên thì bạn cần nên hiểu nó.
Sau khi bài viết sử dụng Cookie và Session để hoàn tất xác minh đăng nhập, và chúng ta đã phát hiện ra một số vấn đề ở cơ chế đăng nhập này. Thì bầy giờ chúng ta tiếp tục theo dõi và tìm hiểu cơ chế login khi sử dụng token và đây là một phương pháp đang được các dev quan tâm nhất hiện nay.
Đăng nhập là chức năng thường được sử dụng trong mọi trang web hay những app hiện nay. Không khó để nhận ra vấn đề này đang được quan tâm nhất bởi vì lướt qua những page về lập trình như tips javascript, hay javascript Việt Nam đều thấy nhiều câu hỏi ở đó. Thật sự bạn có biết khi enter thì cơ chế nó hoạt động như thế nào không? Và hiện nay, những ứng dụng lớn họ triển khai login như thế nào? Hôm nay chúng tôi sẽ giới thiệu một số phương pháp đăng nhập phổ biến nhất
Ở những bài trước chúng ta đã nói nhiều về JWT là gì? Vì sao phải sử dụng JWT, trong suốt quá trình sử dụng JWT chúng tôi có nhận được nhiều phản hồi về chủ đề JWT. Trong đó có một vấn đề mà có nhiều bạn chưa hiểu đó là 'Refresh token là gì'. Nếu bạn có chung một câu hỏi như vậy thì bài viết này sẽ dành cho bạn.
Token là gì? Authentication là gì? Session, cookies, SessionId... Nó là gì? Những khái niệm này tưởng chừng như ai cũng biết. Nhưng không hẳn như vậy, khi được hỏi thì trả lời một cách mông lung kiểu như mã hoá dữ liệu vậy. Đây, các bạn có thể tham khảo thêm định nghĩa ở bài post này.
Ở bài viết trước, chúng ta đã làm rõ về cách lưu trữ token ở đâu trên Client. Và cách nào an toàn hơn và hạn chế được các XSS attack. Do đó ở bài này chúng ta sẽ triển khai xây dựng một RESTful APIs bảo mật token hạn chế việc đánh cắp khi mà càng ngày hackers luôn luôn rình mò ở quanh ta :D.
Nên lưu token ở đâu trong ba phương pháp phổ biến như cookie, localStorage, sessionStorage. Sau những bài viết về JSON Web Token(JWT) đa số các bạn cũng đã hiểu và đã apply cho các ứng dụng của mình. Các luồng đi của việc created và verify một token xem như đã xong, nhưng có có một vấn đề quan trọng mà các bạn bỏ qua.
Refresh token là gì? Ở bài trước tôi đã hướng dẫn các bạn cách xác thực REST API với JWT(JSON Web Token) thông qua một Access Token, và hôm nay chúng ta tiếp tục tìm hiểu về Refresh Token. Tại sao lại có thêm Refresh Token? Và Refresh Token dùng để làm gì?
JWT là gì? JSON Web Token. Ở phần trước chúng ta đang nói đến việc xác thực firebase với custom token. Nhưng nhiều bạn quay sang hỏi về việc xác thực JWT (JSON Web Token). Chắc do các bạn sử dụng JWT nhiều hơn, cho nên hôm nay, trong bài viết này tôi sẽ viết một module nhỏ để giúp các bạn nào chưa hiểu thì có thể hiểu thêm.